// samsting : this file is auto create.

#ifndef ALIYUN_Ecs_CreateInstanceRequest_H_
#define ALIYUN_Ecs_CreateInstanceRequest_H_

#include "core/rpc_acs_request.h"

namespace aliyun { namespace Ecs {

class CreateInstanceRequest : public RpcAcsRequest {
public:
  CreateInstanceRequest();

  int64 GetOwnerId(void) const;
  void  SetOwnerId(int64 OwnerId);

  const string& GetResourceOwnerAccount(void) const;
  void          SetResourceOwnerAccount(const string& ResourceOwnerAccount);

  int64 GetResourceOwnerId(void) const;
  void  SetResourceOwnerId(int64 ResourceOwnerId);

  const string& GetImageId(void) const;
  void          SetImageId(const string& ImageId);

  const string& GetInstanceType(void) const;
  void          SetInstanceType(const string& InstanceType);

  const string& GetSecurityGroupId(void) const;
  void          SetSecurityGroupId(const string& SecurityGroupId);

  const string& GetInstanceName(void) const;
  void          SetInstanceName(const string& InstanceName);

  const string& GetInternetChargeType(void) const;
  void          SetInternetChargeType(const string& InternetChargeType);

  int  GetInternetMaxBandwidthIn(void) const;
  bool SetInternetMaxBandwidthIn(int InternetMaxBandwidthIn);

  int  GetInternetMaxBandwidthOut(void) const;
  void SetInternetMaxBandwidthOut(int InternetMaxBandwidthOut);

  const string& GetHostName(void) const;
  void          SetHostName(const string& HostName);

  const string& GetPassword(void) const;
  void          SetPassword(const string& Password);

  const string& GetZoneId(void) const;
  void          SetZoneId(const string& ZoneId);

  const string& GetClusterId(void) const;
  void          SetClusterId(const string& ClusterId);

  const string& GetClientToken(void) const;
  void          SetClientToken(const string& ClientToken);

  const string& GetVlanId(void) const;
  void          SetVlanId(const string& VlanId);

  const string& GetInnerIpAddress(void) const;
  void          SetInnerIpAddress(const string& InnerIpAddress);

  const string& GetSystemDisk_Category(void) const;
  void          SetSystemDisk_Category(const string& SystemDisk_Category);

  const string& GetSystemDisk_DiskName(void) const;
  void          SetSystemDisk_DiskName(const string& SystemDisk_DiskName);

  const string& GetSystemDisk_Description(void) const;
  void          SetSystemDisk_Description(const string& SystemDisk_Description);

  int  GetDataDisk_1_Size(void) const;
  void SetDataDisk_1_Size(int DataDisk_1_Size);

  const string& GetDataDisk_1_Category(void) const;
  void          SetDataDisk_1_Category(const string& DataDisk_1_Category);

  const string& GetDataDisk_1_SnapshotId(void) const;
  void          SetDataDisk_1_SnapshotId(const string& DataDisk_1_SnapshotId);

  const string& GetDataDisk_1_DiskName(void) const;
  void          SetDataDisk_1_DiskName(const string& DataDisk_1_DiskName);

  const string& GetDataDisk_1_Description(void) const;
  void          SetDataDisk_1_Description(const string& DataDisk_1_Description);

  const string& GetDataDisk_1_Device(void) const;
  void          SetDataDisk_1_Device(const string& DataDisk_1_Device);

  bool GetDataDisk_1_DeleteWithInstance(void) const;
  void SetDataDisk_1_DeleteWithInstance(bool DataDisk_1_DeleteWithInstance);

  int  GetDataDisk_2_Size(void) const;
  void SetDataDisk_2_Size(int DataDisk_2_Size);

  const string& GetDataDisk_2_Category(void) const;
  void          SetDataDisk_2_Category(const string& DataDisk_2_Category);

  const string& GetDataDisk_2_SnapshotId(void) const;
  void          SetDataDisk_2_SnapshotId(const string& DataDisk_2_SnapshotId);

  const string& GetDataDisk_2_DiskName(void) const;
  void          SetDataDisk_2_DiskName(const string& DataDisk_2_DiskName);

  const string& GetDataDisk_2_Description(void) const;
  void          SetDataDisk_2_Description(const string& DataDisk_2_Description);

  const string& GetDataDisk_2_Device(void) const;
  void          SetDataDisk_2_Device(const string& DataDisk_2_Device);

  bool GetDataDisk_2_DeleteWithInstance(void) const;
  void SetDataDisk_2_DeleteWithInstance(bool DataDisk_2_DeleteWithInstance);

  int  GetDataDisk_3_Size(void) const;
  void SetDataDisk_3_Size(int DataDisk_3_Size);

  const string& GetDataDisk_3_Category(void) const;
  void          SetDataDisk_3_Category(const string& DataDisk_3_Category);

  const string& GetDataDisk_3_SnapshotId(void) const;
  void          SetDataDisk_3_SnapshotId(const string& DataDisk_3_SnapshotId);

  const string& GetDataDisk_3_DiskName(void) const;
  void          SetDataDisk_3_DiskName(const string& DataDisk_3_DiskName);

  const string& GetDataDisk_3_Description(void) const;
  void          SetDataDisk_3_Description(const string& DataDisk_3_Description);

  const string& GetDataDisk_3_Device(void) const;
  void          SetDataDisk_3_Device(const string& DataDisk_3_Device);

  bool GetDataDisk_3_DeleteWithInstance(void) const;
  void SetDataDisk_3_DeleteWithInstance(bool DataDisk_3_DeleteWithInstance);

  int  GetDataDisk_4_Size(void) const;
  void SetDataDisk_4_Size(int DataDisk_4_Size);

  const string& GetDataDisk_4_Category(void) const;
  void          SetDataDisk_4_Category(const string& DataDisk_4_Category);

  const string& GetDataDisk_4_SnapshotId(void) const;
  void          SetDataDisk_4_SnapshotId(const string& DataDisk_4_SnapshotId);

  const string& GetDataDisk_4_DiskName(void) const;
  void          SetDataDisk_4_DiskName(const string& DataDisk_4_DiskName);

  const string& GetDataDisk_4_Description(void) const;
  void          SetDataDisk_4_Description(const string& DataDisk_4_Description);

  const string& GetDataDisk_4_Device(void) const;
  void          SetDataDisk_4_Device(const string& DataDisk_4_Device);

  bool GetDataDisk_4_DeleteWithInstance(void) const;
  void SetDataDisk_4_DeleteWithInstance(bool DataDisk_4_DeleteWithInstance);

  const string& GetNodeControllerId(void) const;
  void          SetNodeControllerId(const string& NodeControllerId);

  const string& GetDescription(void) const;
  void          SetDescription(const string& Description);

  const string& GetVSwitchId(void) const;
  void          SetVSwitchId(const string& VSwitchId);

  const string& GetPrivateIpAddress(void) const;
  void          SetPrivateIpAddress(const string& PrivateIpAddress);

  const string& GetIoOptimized(void) const;
  void          SetIoOptimized(const string& IoOptimized);

  const string& GetOwnerAccount(void) const;
  void          SetOwnerAccount(const string& OwnerAccount);

  bool GetUseAdditionalService(void) const;
  void SetUseAdditionalService(bool UseAdditionalService);

  const string& GetInstanceChargeType(void) const;
  void          SetInstanceChargeType(const string& InstanceChargeType);

  int  GetPeriod(void) const;
  void SetPeriod(int Period);

private:
  int64  OwnerId_;
  string ResourceOwnerAccount_;
  int64  ResourceOwnerId_;
  string ImageId_;
  string InstanceType_;
  string SecurityGroupId_;
  string InstanceName_;
  string InternetChargeType_;
  int    InternetMaxBandwidthIn_;
  int    InternetMaxBandwidthOut_;
  string HostName_;
  string Password_;
  string ZoneId_;
  string ClusterId_;
  string ClientToken_;
  string VlanId_;
  string InnerIpAddress_;
  string SystemDisk_Category_;
  string SystemDisk_DiskName_;
  string SystemDisk_Description_;
  int    DataDisk_1_Size_;
  string DataDisk_1_Category_;
  string DataDisk_1_SnapshotId_;
  string DataDisk_1_DiskName_;
  string DataDisk_1_Description_;
  string DataDisk_1_Device_;
  bool   DataDisk_1_DeleteWithInstance_;
  int    DataDisk_2_Size_;
  string DataDisk_2_Category_;
  string DataDisk_2_SnapshotId_;
  string DataDisk_2_DiskName_;
  string DataDisk_2_Description_;
  string DataDisk_2_Device_;
  bool   DataDisk_2_DeleteWithInstance_;
  int    DataDisk_3_Size_;
  string DataDisk_3_Category_;
  string DataDisk_3_SnapshotId_;
  string DataDisk_3_DiskName_;
  string DataDisk_3_Description_;
  string DataDisk_3_Device_;
  bool   DataDisk_3_DeleteWithInstance_;
  int    DataDisk_4_Size_;
  string DataDisk_4_Category_;
  string DataDisk_4_SnapshotId_;
  string DataDisk_4_DiskName_;
  string DataDisk_4_Description_;
  string DataDisk_4_Device_;
  bool   DataDisk_4_DeleteWithInstance_;
  string NodeControllerId_;
  string Description_;
  string VSwitchId_;
  string PrivateIpAddress_;
  string IoOptimized_;
  string OwnerAccount_;
  bool   UseAdditionalService_;
  string InstanceChargeType_;
  int    Period_;

};

} } // namespace aliyun { namespace Ecs {

#endif // #ifndef ALIYUN_Ecs_CreateInstanceRequest_H_

// end of file 
